// Based on glad.c in melonDS/src/frontend/glad

#include <emulibc.h>

#include "BizOGL.h"

ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode)> biz_glCullFace;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode)> biz_glFrontFace;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum mode)> biz_glHint;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat width)> biz_glLineWidth;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat size)> biz_glPointSize;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum face, GLenum mode)> biz_glPolygonMode;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint x, GLint y, GLsizei width, GLsizei height)> biz_glScissor;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLfloat param)> biz_glTexParameterf;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, const GLfloat *params)> biz_glTexParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint param)> biz_glTexParameteri;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, const GLint *params)> biz_glTexParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)> biz_glTexImage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)> biz_glTexImage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum buf)> biz_glDrawBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLbitfield mask)> biz_glClear;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)> biz_glClearColor;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint s)> biz_glClearStencil;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLdouble depth)> biz_glClearDepth;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint mask)> biz_glStencilMask;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)> biz_glColorMask;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLboolean flag)> biz_glDepthMask;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum cap)> biz_glDisable;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum cap)> biz_glEnable;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glFinish;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glFlush;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum sfactor, GLenum dfactor)> biz_glBlendFunc;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum opcode)> biz_glLogicOp;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum func, GLint ref, GLuint mask)> biz_glStencilFunc;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum fail, GLenum zfail, GLenum zpass)> biz_glStencilOp;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum func)> biz_glDepthFunc;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLfloat param)> biz_glPixelStoref;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLint param)> biz_glPixelStorei;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum src)> biz_glReadBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels)> biz_glReadPixels;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLboolean *data)> biz_glGetBooleanv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLdouble *data)> biz_glGetDoublev;
ECL_INVISIBLE BizOGL::GLFunctor<GLenum (void)> biz_glGetError;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLfloat *data)> biz_glGetFloatv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLint *data)> biz_glGetIntegerv;
ECL_INVISIBLE BizOGL::GLFunctor<const GLubyte * (GLenum name)> biz_glGetString;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum format, GLenum type, void *pixels)> biz_glGetTexImage;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLfloat *params)> biz_glGetTexParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint *params)> biz_glGetTexParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum pname, GLfloat *params)> biz_glGetTexLevelParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum pname, GLint *params)> biz_glGetTexLevelParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLenum cap)> biz_glIsEnabled;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLdouble n, GLdouble f)> biz_glDepthRange;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint x, GLint y, GLsizei width, GLsizei height)> biz_glViewport;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLint first, GLsizei count)> biz_glDrawArrays;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLsizei count, GLenum type, const void *indices)> biz_glDrawElements;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat factor, GLfloat units)> biz_glPolygonOffset;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)> biz_glCopyTexImage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)> biz_glCopyTexImage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)> biz_glCopyTexSubImage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)> biz_glCopyTexSubImage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)> biz_glTexSubImage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)> biz_glTexSubImage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint texture)> biz_glBindTexture;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *textures)> biz_glDeleteTextures;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *textures)> biz_glGenTextures;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint texture)> biz_glIsTexture;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)> biz_glDrawRangeElements;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)> biz_glTexImage3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)> biz_glTexSubImage3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)> biz_glCopyTexSubImage3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture)> biz_glActiveTexture;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat value, GLboolean invert)> biz_glSampleCoverage;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)> biz_glCompressedTexImage3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)> biz_glCompressedTexImage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)> biz_glCompressedTexImage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)> biz_glCompressedTexSubImage3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)> biz_glCompressedTexSubImage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)> biz_glCompressedTexSubImage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLint level, void *img)> biz_glGetCompressedTexImage;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)> biz_glBlendFuncSeparate;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)> biz_glMultiDrawArrays;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount)> biz_glMultiDrawElements;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLfloat param)> biz_glPointParameterf;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, const GLfloat *params)> biz_glPointParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLint param)> biz_glPointParameteri;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, const GLint *params)> biz_glPointParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)> biz_glBlendColor;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode)> biz_glBlendEquation;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *ids)> biz_glGenQueries;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *ids)> biz_glDeleteQueries;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint id)> biz_glIsQuery;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint id)> biz_glBeginQuery;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target)> biz_glEndQuery;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint *params)> biz_glGetQueryiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint id, GLenum pname, GLint *params)> biz_glGetQueryObjectiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint id, GLenum pname, GLuint *params)> biz_glGetQueryObjectuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint buffer)> biz_glBindBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *buffers)> biz_glDeleteBuffers;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *buffers)> biz_glGenBuffers;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint buffer)> biz_glIsBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizeiptr size, const void *data, GLenum usage)> biz_glBufferData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLintptr offset, GLsizeiptr size, const void *data)> biz_glBufferSubData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLintptr offset, GLsizeiptr size, void *data)> biz_glGetBufferSubData;
ECL_INVISIBLE BizOGL::GLFunctor<void * (GLenum target, GLenum access)> biz_glMapBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLenum target)> biz_glUnmapBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint *params)> biz_glGetBufferParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, void **params)> biz_glGetBufferPointerv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum modeRGB, GLenum modeAlpha)> biz_glBlendEquationSeparate;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLenum *bufs)> biz_glDrawBuffers;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)> biz_glStencilOpSeparate;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum face, GLenum func, GLint ref, GLuint mask)> biz_glStencilFuncSeparate;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum face, GLuint mask)> biz_glStencilMaskSeparate;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint shader)> biz_glAttachShader;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint index, const GLchar *name)> biz_glBindAttribLocation;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint shader)> biz_glCompileShader;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (void)> biz_glCreateProgram;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (GLenum type)> biz_glCreateShader;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program)> biz_glDeleteProgram;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint shader)> biz_glDeleteShader;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint shader)> biz_glDetachShader;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index)> biz_glDisableVertexAttribArray;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index)> biz_glEnableVertexAttribArray;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)> biz_glGetActiveAttrib;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)> biz_glGetActiveUniform;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)> biz_glGetAttachedShaders;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, const GLchar *name)> biz_glGetAttribLocation;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum pname, GLint *params)> biz_glGetProgramiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)> biz_glGetProgramInfoLog;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint shader, GLenum pname, GLint *params)> biz_glGetShaderiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)> biz_glGetShaderInfoLog;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)> biz_glGetShaderSource;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, const GLchar *name)> biz_glGetUniformLocation;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLfloat *params)> biz_glGetUniformfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLint *params)> biz_glGetUniformiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, GLdouble *params)> biz_glGetVertexAttribdv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, GLfloat *params)> biz_glGetVertexAttribfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, GLint *params)> biz_glGetVertexAttribiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, void **pointer)> biz_glGetVertexAttribPointerv;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint program)> biz_glIsProgram;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint shader)> biz_glIsShader;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program)> biz_glLinkProgram;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length)> biz_glShaderSource;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program)> biz_glUseProgram;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLfloat v0)> biz_glUniform1f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLfloat v0, GLfloat v1)> biz_glUniform2f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLfloat v0, GLfloat v1, GLfloat v2)> biz_glUniform3f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)> biz_glUniform4f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLint v0)> biz_glUniform1i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLint v0, GLint v1)> biz_glUniform2i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLint v0, GLint v1, GLint v2)> biz_glUniform3i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLint v0, GLint v1, GLint v2, GLint v3)> biz_glUniform4i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLfloat *value)> biz_glUniform1fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLfloat *value)> biz_glUniform2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLfloat *value)> biz_glUniform3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLfloat *value)> biz_glUniform4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLint *value)> biz_glUniform1iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLint *value)> biz_glUniform2iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLint *value)> biz_glUniform3iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLint *value)> biz_glUniform4iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program)> biz_glValidateProgram;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x)> biz_glVertexAttrib1d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttrib1dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLfloat x)> biz_glVertexAttrib1f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLfloat *v)> biz_glVertexAttrib1fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLshort x)> biz_glVertexAttrib1s;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLshort *v)> biz_glVertexAttrib1sv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x, GLdouble y)> biz_glVertexAttrib2d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttrib2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLfloat x, GLfloat y)> biz_glVertexAttrib2f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLfloat *v)> biz_glVertexAttrib2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLshort x, GLshort y)> biz_glVertexAttrib2s;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLshort *v)> biz_glVertexAttrib2sv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x, GLdouble y, GLdouble z)> biz_glVertexAttrib3d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttrib3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLfloat x, GLfloat y, GLfloat z)> biz_glVertexAttrib3f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLfloat *v)> biz_glVertexAttrib3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLshort x, GLshort y, GLshort z)> biz_glVertexAttrib3s;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLshort *v)> biz_glVertexAttrib3sv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLbyte *v)> biz_glVertexAttrib4Nbv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glVertexAttrib4Niv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLshort *v)> biz_glVertexAttrib4Nsv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)> biz_glVertexAttrib4Nub;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLubyte *v)> biz_glVertexAttrib4Nubv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLuint *v)> biz_glVertexAttrib4Nuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLushort *v)> biz_glVertexAttrib4Nusv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLbyte *v)> biz_glVertexAttrib4bv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)> biz_glVertexAttrib4d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttrib4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)> biz_glVertexAttrib4f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLfloat *v)> biz_glVertexAttrib4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glVertexAttrib4iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)> biz_glVertexAttrib4s;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLshort *v)> biz_glVertexAttrib4sv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLubyte *v)> biz_glVertexAttrib4ubv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLuint *v)> biz_glVertexAttrib4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLushort *v)> biz_glVertexAttrib4usv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer)> biz_glVertexAttribPointer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix2x3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix3x2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix2x4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix4x2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix3x4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glUniformMatrix4x3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)> biz_glColorMaski;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLboolean *data)> biz_glGetBooleani_v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLint *data)> biz_glGetIntegeri_v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index)> biz_glEnablei;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index)> biz_glDisablei;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLenum target, GLuint index)> biz_glIsEnabledi;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum primitiveMode)> biz_glBeginTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glEndTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)> biz_glBindBufferRange;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLuint buffer)> biz_glBindBufferBase;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode)> biz_glTransformFeedbackVaryings;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)> biz_glGetTransformFeedbackVarying;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum clamp)> biz_glClampColor;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint id, GLenum mode)> biz_glBeginConditionalRender;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glEndConditionalRender;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)> biz_glVertexAttribIPointer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, GLint *params)> biz_glGetVertexAttribIiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, GLuint *params)> biz_glGetVertexAttribIuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint x)> biz_glVertexAttribI1i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint x, GLint y)> biz_glVertexAttribI2i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint x, GLint y, GLint z)> biz_glVertexAttribI3i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint x, GLint y, GLint z, GLint w)> biz_glVertexAttribI4i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLuint x)> biz_glVertexAttribI1ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLuint x, GLuint y)> biz_glVertexAttribI2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLuint x, GLuint y, GLuint z)> biz_glVertexAttribI3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)> biz_glVertexAttribI4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glVertexAttribI1iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glVertexAttribI2iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glVertexAttribI3iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glVertexAttribI4iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLuint *v)> biz_glVertexAttribI1uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLuint *v)> biz_glVertexAttribI2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLuint *v)> biz_glVertexAttribI3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLuint *v)> biz_glVertexAttribI4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLbyte *v)> biz_glVertexAttribI4bv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLshort *v)> biz_glVertexAttribI4sv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLubyte *v)> biz_glVertexAttribI4ubv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLushort *v)> biz_glVertexAttribI4usv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLuint *params)> biz_glGetUniformuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint color, const GLchar *name)> biz_glBindFragDataLocation;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, const GLchar *name)> biz_glGetFragDataLocation;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLuint v0)> biz_glUniform1ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLuint v0, GLuint v1)> biz_glUniform2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLuint v0, GLuint v1, GLuint v2)> biz_glUniform3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)> biz_glUniform4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLuint *value)> biz_glUniform1uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLuint *value)> biz_glUniform2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLuint *value)> biz_glUniform3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLuint *value)> biz_glUniform4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, const GLint *params)> biz_glTexParameterIiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, const GLuint *params)> biz_glTexParameterIuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint *params)> biz_glGetTexParameterIiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLuint *params)> biz_glGetTexParameterIuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum buffer, GLint drawbuffer, const GLint *value)> biz_glClearBufferiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum buffer, GLint drawbuffer, const GLuint *value)> biz_glClearBufferuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum buffer, GLint drawbuffer, const GLfloat *value)> biz_glClearBufferfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)> biz_glClearBufferfi;
ECL_INVISIBLE BizOGL::GLFunctor<const GLubyte * (GLenum name, GLuint index)> biz_glGetStringi;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint renderbuffer)> biz_glIsRenderbuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint renderbuffer)> biz_glBindRenderbuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *renderbuffers)> biz_glDeleteRenderbuffers;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *renderbuffers)> biz_glGenRenderbuffers;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)> biz_glRenderbufferStorage;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint *params)> biz_glGetRenderbufferParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint framebuffer)> biz_glIsFramebuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint framebuffer)> biz_glBindFramebuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *framebuffers)> biz_glDeleteFramebuffers;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *framebuffers)> biz_glGenFramebuffers;
ECL_INVISIBLE BizOGL::GLFunctor<GLenum (GLenum target)> biz_glCheckFramebufferStatus;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)> biz_glFramebufferTexture1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)> biz_glFramebufferTexture2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)> biz_glFramebufferTexture3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)> biz_glFramebufferRenderbuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLenum pname, GLint *params)> biz_glGetFramebufferAttachmentParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target)> biz_glGenerateMipmap;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)> biz_glBlitFramebuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)> biz_glRenderbufferStorageMultisample;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)> biz_glFramebufferTextureLayer;
ECL_INVISIBLE BizOGL::GLFunctor<void * (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)> biz_glMapBufferRange;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLintptr offset, GLsizeiptr length)> biz_glFlushMappedBufferRange;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint array)> biz_glBindVertexArray;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *arrays)> biz_glDeleteVertexArrays;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *arrays)> biz_glGenVertexArrays;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint array)> biz_glIsVertexArray;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLint first, GLsizei count, GLsizei instancecount)> biz_glDrawArraysInstanced;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount)> biz_glDrawElementsInstanced;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLuint buffer)> biz_glTexBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index)> biz_glPrimitiveRestartIndex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)> biz_glCopyBufferSubData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices)> biz_glGetUniformIndices;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)> biz_glGetActiveUniformsiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)> biz_glGetActiveUniformName;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (GLuint program, const GLchar *uniformBlockName)> biz_glGetUniformBlockIndex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)> biz_glGetActiveUniformBlockiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)> biz_glGetActiveUniformBlockName;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)> biz_glUniformBlockBinding;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)> biz_glDrawElementsBaseVertex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)> biz_glDrawRangeElementsBaseVertex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)> biz_glDrawElementsInstancedBaseVertex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex)> biz_glMultiDrawElementsBaseVertex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode)> biz_glProvokingVertex;
ECL_INVISIBLE BizOGL::GLFunctor<GLsync (GLenum condition, GLbitfield flags)> biz_glFenceSync;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLsync sync)> biz_glIsSync;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsync sync)> biz_glDeleteSync;
ECL_INVISIBLE BizOGL::GLFunctor<GLenum (GLsync sync, GLbitfield flags, GLuint64 timeout)> biz_glClientWaitSync;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsync sync, GLbitfield flags, GLuint64 timeout)> biz_glWaitSync;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLint64 *data)> biz_glGetInteger64v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values)> biz_glGetSynciv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLint64 *data)> biz_glGetInteger64i_v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint64 *params)> biz_glGetBufferParameteri64v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum attachment, GLuint texture, GLint level)> biz_glFramebufferTexture;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)> biz_glTexImage2DMultisample;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)> biz_glTexImage3DMultisample;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLuint index, GLfloat *val)> biz_glGetMultisamplefv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint maskNumber, GLbitfield mask)> biz_glSampleMaski;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)> biz_glBindFragDataLocationIndexed;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, const GLchar *name)> biz_glGetFragDataIndex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei count, GLuint *samplers)> biz_glGenSamplers;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei count, const GLuint *samplers)> biz_glDeleteSamplers;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint sampler)> biz_glIsSampler;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint unit, GLuint sampler)> biz_glBindSampler;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, GLint param)> biz_glSamplerParameteri;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, const GLint *param)> biz_glSamplerParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, GLfloat param)> biz_glSamplerParameterf;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, const GLfloat *param)> biz_glSamplerParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, const GLint *param)> biz_glSamplerParameterIiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, const GLuint *param)> biz_glSamplerParameterIuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, GLint *params)> biz_glGetSamplerParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, GLint *params)> biz_glGetSamplerParameterIiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, GLfloat *params)> biz_glGetSamplerParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint sampler, GLenum pname, GLuint *params)> biz_glGetSamplerParameterIuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint id, GLenum target)> biz_glQueryCounter;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint id, GLenum pname, GLint64 *params)> biz_glGetQueryObjecti64v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint id, GLenum pname, GLuint64 *params)> biz_glGetQueryObjectui64v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLuint divisor)> biz_glVertexAttribDivisor;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, GLuint value)> biz_glVertexAttribP1ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)> biz_glVertexAttribP1uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, GLuint value)> biz_glVertexAttribP2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)> biz_glVertexAttribP2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, GLuint value)> biz_glVertexAttribP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)> biz_glVertexAttribP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, GLuint value)> biz_glVertexAttribP4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)> biz_glVertexAttribP4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint value)> biz_glVertexP2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *value)> biz_glVertexP2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint value)> biz_glVertexP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *value)> biz_glVertexP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint value)> biz_glVertexP4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *value)> biz_glVertexP4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint coords)> biz_glTexCoordP1ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *coords)> biz_glTexCoordP1uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint coords)> biz_glTexCoordP2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *coords)> biz_glTexCoordP2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint coords)> biz_glTexCoordP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *coords)> biz_glTexCoordP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint coords)> biz_glTexCoordP4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *coords)> biz_glTexCoordP4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, GLuint coords)> biz_glMultiTexCoordP1ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, const GLuint *coords)> biz_glMultiTexCoordP1uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, GLuint coords)> biz_glMultiTexCoordP2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, const GLuint *coords)> biz_glMultiTexCoordP2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, GLuint coords)> biz_glMultiTexCoordP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, const GLuint *coords)> biz_glMultiTexCoordP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, GLuint coords)> biz_glMultiTexCoordP4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum texture, GLenum type, const GLuint *coords)> biz_glMultiTexCoordP4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint coords)> biz_glNormalP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *coords)> biz_glNormalP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint color)> biz_glColorP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *color)> biz_glColorP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint color)> biz_glColorP4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *color)> biz_glColorP4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, GLuint color)> biz_glSecondaryColorP3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum type, const GLuint *color)> biz_glSecondaryColorP3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat value)> biz_glMinSampleShading;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint buf, GLenum mode)> biz_glBlendEquationi;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint buf, GLenum modeRGB, GLenum modeAlpha)> biz_glBlendEquationSeparatei;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint buf, GLenum src, GLenum dst)> biz_glBlendFunci;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)> biz_glBlendFuncSeparatei;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, const void *indirect)> biz_glDrawArraysIndirect;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLenum type, const void *indirect)> biz_glDrawElementsIndirect;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLdouble x)> biz_glUniform1d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLdouble x, GLdouble y)> biz_glUniform2d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLdouble x, GLdouble y, GLdouble z)> biz_glUniform3d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)> biz_glUniform4d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLdouble *value)> biz_glUniform1dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLdouble *value)> biz_glUniform2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLdouble *value)> biz_glUniform3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, const GLdouble *value)> biz_glUniform4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix2x3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix2x4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix3x2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix3x4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix4x2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glUniformMatrix4x3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLdouble *params)> biz_glGetUniformdv;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, GLenum shadertype, const GLchar *name)> biz_glGetSubroutineUniformLocation;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (GLuint program, GLenum shadertype, const GLchar *name)> biz_glGetSubroutineIndex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)> biz_glGetActiveSubroutineUniformiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)> biz_glGetActiveSubroutineUniformName;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)> biz_glGetActiveSubroutineName;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum shadertype, GLsizei count, const GLuint *indices)> biz_glUniformSubroutinesuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum shadertype, GLint location, GLuint *params)> biz_glGetUniformSubroutineuiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum shadertype, GLenum pname, GLint *values)> biz_glGetProgramStageiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, GLint value)> biz_glPatchParameteri;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, const GLfloat *values)> biz_glPatchParameterfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint id)> biz_glBindTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *ids)> biz_glDeleteTransformFeedbacks;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *ids)> biz_glGenTransformFeedbacks;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint id)> biz_glIsTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glPauseTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glResumeTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLuint id)> biz_glDrawTransformFeedback;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLuint id, GLuint stream)> biz_glDrawTransformFeedbackStream;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLuint id)> biz_glBeginQueryIndexed;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index)> biz_glEndQueryIndexed;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLenum pname, GLint *params)> biz_glGetQueryIndexediv;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glReleaseShaderCompiler;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length)> biz_glShaderBinary;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)> biz_glGetShaderPrecisionFormat;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat n, GLfloat f)> biz_glDepthRangef;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLfloat d)> biz_glClearDepthf;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)> biz_glGetProgramBinary;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)> biz_glProgramBinary;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum pname, GLint value)> biz_glProgramParameteri;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint pipeline, GLbitfield stages, GLuint program)> biz_glUseProgramStages;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint pipeline, GLuint program)> biz_glActiveShaderProgram;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (GLenum type, GLsizei count, const GLchar *const*strings)> biz_glCreateShaderProgramv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint pipeline)> biz_glBindProgramPipeline;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, const GLuint *pipelines)> biz_glDeleteProgramPipelines;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLsizei n, GLuint *pipelines)> biz_glGenProgramPipelines;
ECL_INVISIBLE BizOGL::GLFunctor<GLboolean (GLuint pipeline)> biz_glIsProgramPipeline;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint pipeline, GLenum pname, GLint *params)> biz_glGetProgramPipelineiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLint v0)> biz_glProgramUniform1i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLint *value)> biz_glProgramUniform1iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLfloat v0)> biz_glProgramUniform1f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLfloat *value)> biz_glProgramUniform1fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLdouble v0)> biz_glProgramUniform1d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLdouble *value)> biz_glProgramUniform1dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLuint v0)> biz_glProgramUniform1ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLuint *value)> biz_glProgramUniform1uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLint v0, GLint v1)> biz_glProgramUniform2i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLint *value)> biz_glProgramUniform2iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLfloat v0, GLfloat v1)> biz_glProgramUniform2f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLfloat *value)> biz_glProgramUniform2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLdouble v0, GLdouble v1)> biz_glProgramUniform2d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLdouble *value)> biz_glProgramUniform2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLuint v0, GLuint v1)> biz_glProgramUniform2ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLuint *value)> biz_glProgramUniform2uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)> biz_glProgramUniform3i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLint *value)> biz_glProgramUniform3iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)> biz_glProgramUniform3f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLfloat *value)> biz_glProgramUniform3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2)> biz_glProgramUniform3d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLdouble *value)> biz_glProgramUniform3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)> biz_glProgramUniform3ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLuint *value)> biz_glProgramUniform3uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)> biz_glProgramUniform4i;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLint *value)> biz_glProgramUniform4iv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)> biz_glProgramUniform4f;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLfloat *value)> biz_glProgramUniform4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3)> biz_glProgramUniform4d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLdouble *value)> biz_glProgramUniform4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)> biz_glProgramUniform4ui;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, const GLuint *value)> biz_glProgramUniform4uiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix2x3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix3x2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix2x4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix4x2fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix3x4fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)> biz_glProgramUniformMatrix4x3fv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix2x3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix3x2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix2x4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix4x2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix3x4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)> biz_glProgramUniformMatrix4x3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint pipeline)> biz_glValidateProgramPipeline;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)> biz_glGetProgramPipelineInfoLog;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x)> biz_glVertexAttribL1d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x, GLdouble y)> biz_glVertexAttribL2d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x, GLdouble y, GLdouble z)> biz_glVertexAttribL3d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)> biz_glVertexAttribL4d;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttribL1dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttribL2dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttribL3dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLdouble *v)> biz_glVertexAttribL4dv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)> biz_glVertexAttribLPointer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLenum pname, GLdouble *params)> biz_glGetVertexAttribLdv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint first, GLsizei count, const GLfloat *v)> biz_glViewportArrayv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)> biz_glViewportIndexedf;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLfloat *v)> biz_glViewportIndexedfv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint first, GLsizei count, const GLint *v)> biz_glScissorArrayv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)> biz_glScissorIndexed;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, const GLint *v)> biz_glScissorIndexedv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint first, GLsizei count, const GLdouble *v)> biz_glDepthRangeArrayv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint index, GLdouble n, GLdouble f)> biz_glDepthRangeIndexed;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLfloat *data)> biz_glGetFloati_v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLuint index, GLdouble *data)> biz_glGetDoublei_v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance)> biz_glDrawArraysInstancedBaseInstance;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance)> biz_glDrawElementsInstancedBaseInstance;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance)> biz_glDrawElementsInstancedBaseVertexBaseInstance;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params)> biz_glGetInternalformativ;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)> biz_glGetActiveAtomicCounterBufferiv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)> biz_glBindImageTexture;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLbitfield barriers)> biz_glMemoryBarrier;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)> biz_glTexStorage1D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)> biz_glTexStorage2D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)> biz_glTexStorage3D;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLuint id, GLsizei instancecount)> biz_glDrawTransformFeedbackInstanced;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount)> biz_glDrawTransformFeedbackStreamInstanced;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data)> biz_glClearBufferData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)> biz_glClearBufferSubData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)> biz_glDispatchCompute;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLintptr indirect)> biz_glDispatchComputeIndirect;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)> biz_glCopyImageSubData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint param)> biz_glFramebufferParameteri;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum pname, GLint *params)> biz_glGetFramebufferParameteriv;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params)> biz_glGetInternalformati64v;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth)> biz_glInvalidateTexSubImage;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint texture, GLint level)> biz_glInvalidateTexImage;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint buffer, GLintptr offset, GLsizeiptr length)> biz_glInvalidateBufferSubData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint buffer)> biz_glInvalidateBufferData;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei numAttachments, const GLenum *attachments)> biz_glInvalidateFramebuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)> biz_glInvalidateSubFramebuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride)> biz_glMultiDrawArraysIndirect;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride)> biz_glMultiDrawElementsIndirect;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum programInterface, GLenum pname, GLint *params)> biz_glGetProgramInterfaceiv;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (GLuint program, GLenum programInterface, const GLchar *name)> biz_glGetProgramResourceIndex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)> biz_glGetProgramResourceName;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params)> biz_glGetProgramResourceiv;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, GLenum programInterface, const GLchar *name)> biz_glGetProgramResourceLocation;
ECL_INVISIBLE BizOGL::GLFunctor<GLint (GLuint program, GLenum programInterface, const GLchar *name)> biz_glGetProgramResourceLocationIndex;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding)> biz_glShaderStorageBlockBinding;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)> biz_glTexBufferRange;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)> biz_glTexStorage2DMultisample;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)> biz_glTexStorage3DMultisample;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers)> biz_glTextureView;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)> biz_glBindVertexBuffer;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)> biz_glVertexAttribFormat;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)> biz_glVertexAttribIFormat;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)> biz_glVertexAttribLFormat;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint attribindex, GLuint bindingindex)> biz_glVertexAttribBinding;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLuint bindingindex, GLuint divisor)> biz_glVertexBindingDivisor;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)> biz_glDebugMessageControl;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)> biz_glDebugMessageInsert;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLDEBUGPROC callback, const void *userParam)> biz_glDebugMessageCallback;
ECL_INVISIBLE BizOGL::GLFunctor<GLuint (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)> biz_glGetDebugMessageLog;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum source, GLuint id, GLsizei length, const GLchar *message)> biz_glPushDebugGroup;
ECL_INVISIBLE BizOGL::GLFunctor<void (void)> biz_glPopDebugGroup;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)> biz_glObjectLabel;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)> biz_glGetObjectLabel;
ECL_INVISIBLE BizOGL::GLFunctor<void (const void *ptr, GLsizei length, const GLchar *label)> biz_glObjectPtrLabel;
ECL_INVISIBLE BizOGL::GLFunctor<void (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)> biz_glGetObjectPtrLabel;
ECL_INVISIBLE BizOGL::GLFunctor<void (GLenum pname, void **params)> biz_glGetPointerv;

namespace BizOGL
{

static void LoadGL3_1(LoadGLProc load)
{
	// 1.0
	biz_glCullFace = load("glCullFace");
	biz_glFrontFace = load("glFrontFace");
	biz_glHint = load("glHint");
	biz_glLineWidth = load("glLineWidth");
	biz_glPointSize = load("glPointSize");
	biz_glPolygonMode = load("glPolygonMode");
	biz_glScissor = load("glScissor");
	biz_glTexParameterf = load("glTexParameterf");
	biz_glTexParameterfv = load("glTexParameterfv");
	biz_glTexParameteri = load("glTexParameteri");
	biz_glTexParameteriv = load("glTexParameteriv");
	biz_glTexImage1D = load("glTexImage1D");
	biz_glTexImage2D = load("glTexImage2D");
	biz_glDrawBuffer = load("glDrawBuffer");
	biz_glClear = load("glClear");
	biz_glClearColor = load("glClearColor");
	biz_glClearStencil = load("glClearStencil");
	biz_glClearDepth = load("glClearDepth");
	biz_glStencilMask = load("glStencilMask");
	biz_glColorMask = load("glColorMask");
	biz_glDepthMask = load("glDepthMask");
	biz_glDisable = load("glDisable");
	biz_glEnable = load("glEnable");
	biz_glFinish = load("glFinish");
	biz_glFlush = load("glFlush");
	biz_glBlendFunc = load("glBlendFunc");
	biz_glLogicOp = load("glLogicOp");
	biz_glStencilFunc = load("glStencilFunc");
	biz_glStencilOp = load("glStencilOp");
	biz_glDepthFunc = load("glDepthFunc");
	biz_glPixelStoref = load("glPixelStoref");
	biz_glPixelStorei = load("glPixelStorei");
	biz_glReadBuffer = load("glReadBuffer");
	biz_glReadPixels = load("glReadPixels");
	biz_glGetBooleanv = load("glGetBooleanv");
	biz_glGetDoublev = load("glGetDoublev");
	biz_glGetError = load("glGetError");
	biz_glGetFloatv = load("glGetFloatv");
	biz_glGetIntegerv = load("glGetIntegerv");
	biz_glGetString = load("glGetString");
	biz_glGetTexImage = load("glGetTexImage");
	biz_glGetTexParameterfv = load("glGetTexParameterfv");
	biz_glGetTexParameteriv = load("glGetTexParameteriv");
	biz_glGetTexLevelParameterfv = load("glGetTexLevelParameterfv");
	biz_glGetTexLevelParameteriv = load("glGetTexLevelParameteriv");
	biz_glIsEnabled = load("glIsEnabled");
	biz_glDepthRange = load("glDepthRange");
	biz_glViewport = load("glViewport");

	// 1.1
	biz_glDrawArrays = load("glDrawArrays");
	biz_glDrawElements = load("glDrawElements");
	biz_glPolygonOffset = load("glPolygonOffset");
	biz_glCopyTexImage1D = load("glCopyTexImage1D");
	biz_glCopyTexImage2D = load("glCopyTexImage2D");
	biz_glCopyTexSubImage1D = load("glCopyTexSubImage1D");
	biz_glCopyTexSubImage2D = load("glCopyTexSubImage2D");
	biz_glTexSubImage1D = load("glTexSubImage1D");
	biz_glTexSubImage2D = load("glTexSubImage2D");
	biz_glBindTexture = load("glBindTexture");
	biz_glDeleteTextures = load("glDeleteTextures");
	biz_glGenTextures = load("glGenTextures");
	biz_glIsTexture = load("glIsTexture");

	// 1.2
	biz_glDrawRangeElements = load("glDrawRangeElements");
	biz_glTexImage3D = load("glTexImage3D");
	biz_glTexSubImage3D = load("glTexSubImage3D");
	biz_glCopyTexSubImage3D = load("glCopyTexSubImage3D");

	// 1.3
	biz_glActiveTexture = load("glActiveTexture");
	biz_glSampleCoverage = load("glSampleCoverage");
	biz_glCompressedTexImage3D = load("glCompressedTexImage3D");
	biz_glCompressedTexImage2D = load("glCompressedTexImage2D");
	biz_glCompressedTexImage1D = load("glCompressedTexImage1D");
	biz_glCompressedTexSubImage3D = load("glCompressedTexSubImage3D");
	biz_glCompressedTexSubImage2D = load("glCompressedTexSubImage2D");
	biz_glCompressedTexSubImage1D = load("glCompressedTexSubImage1D");
	biz_glGetCompressedTexImage = load("glGetCompressedTexImage");

	// 1.4
	biz_glBlendFuncSeparate = load("glBlendFuncSeparate");
	biz_glMultiDrawArrays = load("glMultiDrawArrays");
	biz_glMultiDrawElements = load("glMultiDrawElements");
	biz_glPointParameterf = load("glPointParameterf");
	biz_glPointParameterfv = load("glPointParameterfv");
	biz_glPointParameteri = load("glPointParameteri");
	biz_glPointParameteriv = load("glPointParameteriv");
	biz_glBlendColor = load("glBlendColor");
	biz_glBlendEquation = load("glBlendEquation");

	// 1.5
	biz_glGenQueries = load("glGenQueries");
	biz_glDeleteQueries = load("glDeleteQueries");
	biz_glIsQuery = load("glIsQuery");
	biz_glBeginQuery = load("glBeginQuery");
	biz_glEndQuery = load("glEndQuery");
	biz_glGetQueryiv = load("glGetQueryiv");
	biz_glGetQueryObjectiv = load("glGetQueryObjectiv");
	biz_glGetQueryObjectuiv = load("glGetQueryObjectuiv");
	biz_glBindBuffer = load("glBindBuffer");
	biz_glDeleteBuffers = load("glDeleteBuffers");
	biz_glGenBuffers = load("glGenBuffers");
	biz_glIsBuffer = load("glIsBuffer");
	biz_glBufferData = load("glBufferData");
	biz_glBufferSubData = load("glBufferSubData");
	biz_glGetBufferSubData = load("glGetBufferSubData");
	biz_glMapBuffer = load("glMapBuffer");
	biz_glUnmapBuffer = load("glUnmapBuffer");
	biz_glGetBufferParameteriv = load("glGetBufferParameteriv");
	biz_glGetBufferPointerv = load("glGetBufferPointerv");

	// 2.0
	biz_glBlendEquationSeparate = load("glBlendEquationSeparate");
	biz_glDrawBuffers = load("glDrawBuffers");
	biz_glStencilOpSeparate = load("glStencilOpSeparate");
	biz_glStencilFuncSeparate = load("glStencilFuncSeparate");
	biz_glStencilMaskSeparate = load("glStencilMaskSeparate");
	biz_glAttachShader = load("glAttachShader");
	biz_glBindAttribLocation = load("glBindAttribLocation");
	biz_glCompileShader = load("glCompileShader");
	biz_glCreateProgram = load("glCreateProgram");
	biz_glCreateShader = load("glCreateShader");
	biz_glDeleteProgram = load("glDeleteProgram");
	biz_glDeleteShader = load("glDeleteShader");
	biz_glDetachShader = load("glDetachShader");
	biz_glDisableVertexAttribArray = load("glDisableVertexAttribArray");
	biz_glEnableVertexAttribArray = load("glEnableVertexAttribArray");
	biz_glGetActiveAttrib = load("glGetActiveAttrib");
	biz_glGetActiveUniform = load("glGetActiveUniform");
	biz_glGetAttachedShaders = load("glGetAttachedShaders");
	biz_glGetAttribLocation = load("glGetAttribLocation");
	biz_glGetProgramiv = load("glGetProgramiv");
	biz_glGetProgramInfoLog = load("glGetProgramInfoLog");
	biz_glGetShaderiv = load("glGetShaderiv");
	biz_glGetShaderInfoLog = load("glGetShaderInfoLog");
	biz_glGetShaderSource = load("glGetShaderSource");
	biz_glGetUniformLocation = load("glGetUniformLocation");
	biz_glGetUniformfv = load("glGetUniformfv");
	biz_glGetUniformiv = load("glGetUniformiv");
	biz_glGetVertexAttribdv = load("glGetVertexAttribdv");
	biz_glGetVertexAttribfv = load("glGetVertexAttribfv");
	biz_glGetVertexAttribiv = load("glGetVertexAttribiv");
	biz_glGetVertexAttribPointerv = load("glGetVertexAttribPointerv");
	biz_glIsProgram = load("glIsProgram");
	biz_glIsShader = load("glIsShader");
	biz_glLinkProgram = load("glLinkProgram");
	biz_glShaderSource = load("glShaderSource");
	biz_glUseProgram = load("glUseProgram");
	biz_glUniform1f = load("glUniform1f");
	biz_glUniform2f = load("glUniform2f");
	biz_glUniform3f = load("glUniform3f");
	biz_glUniform4f = load("glUniform4f");
	biz_glUniform1i = load("glUniform1i");
	biz_glUniform2i = load("glUniform2i");
	biz_glUniform3i = load("glUniform3i");
	biz_glUniform4i = load("glUniform4i");
	biz_glUniform1fv = load("glUniform1fv");
	biz_glUniform2fv = load("glUniform2fv");
	biz_glUniform3fv = load("glUniform3fv");
	biz_glUniform4fv = load("glUniform4fv");
	biz_glUniform1iv = load("glUniform1iv");
	biz_glUniform2iv = load("glUniform2iv");
	biz_glUniform3iv = load("glUniform3iv");
	biz_glUniform4iv = load("glUniform4iv");
	biz_glUniformMatrix2fv = load("glUniformMatrix2fv");
	biz_glUniformMatrix3fv = load("glUniformMatrix3fv");
	biz_glUniformMatrix4fv = load("glUniformMatrix4fv");
	biz_glValidateProgram = load("glValidateProgram");
	biz_glVertexAttrib1d = load("glVertexAttrib1d");
	biz_glVertexAttrib1dv = load("glVertexAttrib1dv");
	biz_glVertexAttrib1f = load("glVertexAttrib1f");
	biz_glVertexAttrib1fv = load("glVertexAttrib1fv");
	biz_glVertexAttrib1s = load("glVertexAttrib1s");
	biz_glVertexAttrib1sv = load("glVertexAttrib1sv");
	biz_glVertexAttrib2d = load("glVertexAttrib2d");
	biz_glVertexAttrib2dv = load("glVertexAttrib2dv");
	biz_glVertexAttrib2f = load("glVertexAttrib2f");
	biz_glVertexAttrib2fv = load("glVertexAttrib2fv");
	biz_glVertexAttrib2s = load("glVertexAttrib2s");
	biz_glVertexAttrib2sv = load("glVertexAttrib2sv");
	biz_glVertexAttrib3d = load("glVertexAttrib3d");
	biz_glVertexAttrib3dv = load("glVertexAttrib3dv");
	biz_glVertexAttrib3f = load("glVertexAttrib3f");
	biz_glVertexAttrib3fv = load("glVertexAttrib3fv");
	biz_glVertexAttrib3s = load("glVertexAttrib3s");
	biz_glVertexAttrib3sv = load("glVertexAttrib3sv");
	biz_glVertexAttrib4Nbv = load("glVertexAttrib4Nbv");
	biz_glVertexAttrib4Niv = load("glVertexAttrib4Niv");
	biz_glVertexAttrib4Nsv = load("glVertexAttrib4Nsv");
	biz_glVertexAttrib4Nub = load("glVertexAttrib4Nub");
	biz_glVertexAttrib4Nubv = load("glVertexAttrib4Nubv");
	biz_glVertexAttrib4Nuiv = load("glVertexAttrib4Nuiv");
	biz_glVertexAttrib4Nusv = load("glVertexAttrib4Nusv");
	biz_glVertexAttrib4bv = load("glVertexAttrib4bv");
	biz_glVertexAttrib4d = load("glVertexAttrib4d");
	biz_glVertexAttrib4dv = load("glVertexAttrib4dv");
	biz_glVertexAttrib4f = load("glVertexAttrib4f");
	biz_glVertexAttrib4fv = load("glVertexAttrib4fv");
	biz_glVertexAttrib4iv = load("glVertexAttrib4iv");
	biz_glVertexAttrib4s = load("glVertexAttrib4s");
	biz_glVertexAttrib4sv = load("glVertexAttrib4sv");
	biz_glVertexAttrib4ubv = load("glVertexAttrib4ubv");
	biz_glVertexAttrib4uiv = load("glVertexAttrib4uiv");
	biz_glVertexAttrib4usv = load("glVertexAttrib4usv");
	biz_glVertexAttribPointer = load("glVertexAttribPointer");

	// 2.1
	biz_glUniformMatrix2x3fv = load("glUniformMatrix2x3fv");
	biz_glUniformMatrix3x2fv = load("glUniformMatrix3x2fv");
	biz_glUniformMatrix2x4fv = load("glUniformMatrix2x4fv");
	biz_glUniformMatrix4x2fv = load("glUniformMatrix4x2fv");
	biz_glUniformMatrix3x4fv = load("glUniformMatrix3x4fv");
	biz_glUniformMatrix4x3fv = load("glUniformMatrix4x3fv");

	// 3.0
	biz_glColorMaski = load("glColorMaski");
	biz_glGetBooleani_v = load("glGetBooleani_v");
	biz_glGetIntegeri_v = load("glGetIntegeri_v");
	biz_glEnablei = load("glEnablei");
	biz_glDisablei = load("glDisablei");
	biz_glIsEnabledi = load("glIsEnabledi");
	biz_glBeginTransformFeedback = load("glBeginTransformFeedback");
	biz_glEndTransformFeedback = load("glEndTransformFeedback");
	biz_glBindBufferRange = load("glBindBufferRange");
	biz_glBindBufferBase = load("glBindBufferBase");
	biz_glTransformFeedbackVaryings = load("glTransformFeedbackVaryings");
	biz_glGetTransformFeedbackVarying = load("glGetTransformFeedbackVarying");
	biz_glClampColor = load("glClampColor");
	biz_glBeginConditionalRender = load("glBeginConditionalRender");
	biz_glEndConditionalRender = load("glEndConditionalRender");
	biz_glVertexAttribIPointer = load("glVertexAttribIPointer");
	biz_glGetVertexAttribIiv = load("glGetVertexAttribIiv");
	biz_glGetVertexAttribIuiv = load("glGetVertexAttribIuiv");
	biz_glVertexAttribI1i = load("glVertexAttribI1i");
	biz_glVertexAttribI2i = load("glVertexAttribI2i");
	biz_glVertexAttribI3i = load("glVertexAttribI3i");
	biz_glVertexAttribI4i = load("glVertexAttribI4i");
	biz_glVertexAttribI1ui = load("glVertexAttribI1ui");
	biz_glVertexAttribI2ui = load("glVertexAttribI2ui");
	biz_glVertexAttribI3ui = load("glVertexAttribI3ui");
	biz_glVertexAttribI4ui = load("glVertexAttribI4ui");
	biz_glVertexAttribI1iv = load("glVertexAttribI1iv");
	biz_glVertexAttribI2iv = load("glVertexAttribI2iv");
	biz_glVertexAttribI3iv = load("glVertexAttribI3iv");
	biz_glVertexAttribI4iv = load("glVertexAttribI4iv");
	biz_glVertexAttribI1uiv = load("glVertexAttribI1uiv");
	biz_glVertexAttribI2uiv = load("glVertexAttribI2uiv");
	biz_glVertexAttribI3uiv = load("glVertexAttribI3uiv");
	biz_glVertexAttribI4uiv = load("glVertexAttribI4uiv");
	biz_glVertexAttribI4bv = load("glVertexAttribI4bv");
	biz_glVertexAttribI4sv = load("glVertexAttribI4sv");
	biz_glVertexAttribI4ubv = load("glVertexAttribI4ubv");
	biz_glVertexAttribI4usv = load("glVertexAttribI4usv");
	biz_glGetUniformuiv = load("glGetUniformuiv");
	biz_glBindFragDataLocation = load("glBindFragDataLocation");
	biz_glGetFragDataLocation = load("glGetFragDataLocation");
	biz_glUniform1ui = load("glUniform1ui");
	biz_glUniform2ui = load("glUniform2ui");
	biz_glUniform3ui = load("glUniform3ui");
	biz_glUniform4ui = load("glUniform4ui");
	biz_glUniform1uiv = load("glUniform1uiv");
	biz_glUniform2uiv = load("glUniform2uiv");
	biz_glUniform3uiv = load("glUniform3uiv");
	biz_glUniform4uiv = load("glUniform4uiv");
	biz_glTexParameterIiv = load("glTexParameterIiv");
	biz_glTexParameterIuiv = load("glTexParameterIuiv");
	biz_glGetTexParameterIiv = load("glGetTexParameterIiv");
	biz_glGetTexParameterIuiv = load("glGetTexParameterIuiv");
	biz_glClearBufferiv = load("glClearBufferiv");
	biz_glClearBufferuiv = load("glClearBufferuiv");
	biz_glClearBufferfv = load("glClearBufferfv");
	biz_glClearBufferfi = load("glClearBufferfi");
	biz_glGetStringi = load("glGetStringi");
	biz_glIsRenderbuffer = load("glIsRenderbuffer");
	biz_glBindRenderbuffer = load("glBindRenderbuffer");
	biz_glDeleteRenderbuffers = load("glDeleteRenderbuffers");
	biz_glGenRenderbuffers = load("glGenRenderbuffers");
	biz_glRenderbufferStorage = load("glRenderbufferStorage");
	biz_glGetRenderbufferParameteriv = load("glGetRenderbufferParameteriv");
	biz_glIsFramebuffer = load("glIsFramebuffer");
	biz_glBindFramebuffer = load("glBindFramebuffer");
	biz_glDeleteFramebuffers = load("glDeleteFramebuffers");
	biz_glGenFramebuffers = load("glGenFramebuffers");
	biz_glCheckFramebufferStatus = load("glCheckFramebufferStatus");
	biz_glFramebufferTexture1D = load("glFramebufferTexture1D");
	biz_glFramebufferTexture2D = load("glFramebufferTexture2D");
	biz_glFramebufferTexture3D = load("glFramebufferTexture3D");
	biz_glFramebufferRenderbuffer = load("glFramebufferRenderbuffer");
	biz_glGetFramebufferAttachmentParameteriv = load("glGetFramebufferAttachmentParameteriv");
	biz_glGenerateMipmap = load("glGenerateMipmap");
	biz_glBlitFramebuffer = load("glBlitFramebuffer");
	biz_glRenderbufferStorageMultisample = load("glRenderbufferStorageMultisample");
	biz_glFramebufferTextureLayer = load("glFramebufferTextureLayer");
	biz_glMapBufferRange = load("glMapBufferRange");
	biz_glFlushMappedBufferRange = load("glFlushMappedBufferRange");
	biz_glBindVertexArray = load("glBindVertexArray");
	biz_glDeleteVertexArrays = load("glDeleteVertexArrays");
	biz_glGenVertexArrays = load("glGenVertexArrays");
	biz_glIsVertexArray = load("glIsVertexArray");

	// 3.1
	biz_glDrawArraysInstanced = load("glDrawArraysInstanced");
	biz_glDrawElementsInstanced = load("glDrawElementsInstanced");
	biz_glTexBuffer = load("glTexBuffer");
	biz_glPrimitiveRestartIndex = load("glPrimitiveRestartIndex");
	biz_glCopyBufferSubData = load("glCopyBufferSubData");
	biz_glGetUniformIndices = load("glGetUniformIndices");
	biz_glGetActiveUniformsiv = load("glGetActiveUniformsiv");
	biz_glGetActiveUniformName = load("glGetActiveUniformName");
	biz_glGetUniformBlockIndex = load("glGetUniformBlockIndex");
	biz_glGetActiveUniformBlockiv = load("glGetActiveUniformBlockiv");
	biz_glGetActiveUniformBlockName = load("glGetActiveUniformBlockName");
	biz_glUniformBlockBinding = load("glUniformBlockBinding");
}

static void LoadGL3_2(LoadGLProc load)
{
	// 1.0 - 3.1
	LoadGL3_1(load);

	// 3.2
	biz_glDrawElementsBaseVertex = load("glDrawElementsBaseVertex");
	biz_glDrawRangeElementsBaseVertex = load("glDrawRangeElementsBaseVertex");
	biz_glDrawElementsInstancedBaseVertex = load("glDrawElementsInstancedBaseVertex");
	biz_glMultiDrawElementsBaseVertex = load("glMultiDrawElementsBaseVertex");
	biz_glProvokingVertex = load("glProvokingVertex");
	biz_glFenceSync = load("glFenceSync");
	biz_glIsSync = load("glIsSync");
	biz_glDeleteSync = load("glDeleteSync");
	biz_glClientWaitSync = load("glClientWaitSync");
	biz_glWaitSync = load("glWaitSync");
	biz_glGetInteger64v = load("glGetInteger64v");
	biz_glGetSynciv = load("glGetSynciv");
	biz_glGetInteger64i_v = load("glGetInteger64i_v");
	biz_glGetBufferParameteri64v = load("glGetBufferParameteri64v");
	biz_glFramebufferTexture = load("glFramebufferTexture");
	biz_glTexImage2DMultisample = load("glTexImage2DMultisample");
	biz_glTexImage3DMultisample = load("glTexImage3DMultisample");
	biz_glGetMultisamplefv = load("glGetMultisamplefv");
	biz_glSampleMaski = load("glSampleMaski");
}

static void LoadGL4_3(LoadGLProc load)
{
	// 1.0 - 3.2
	LoadGL3_2(load);

	// 3.3
	biz_glBindFragDataLocationIndexed = load("glBindFragDataLocationIndexed");
	biz_glGetFragDataIndex = load("glGetFragDataIndex");
	biz_glGenSamplers = load("glGenSamplers");
	biz_glDeleteSamplers = load("glDeleteSamplers");
	biz_glIsSampler = load("glIsSampler");
	biz_glBindSampler = load("glBindSampler");
	biz_glSamplerParameteri = load("glSamplerParameteri");
	biz_glSamplerParameteriv = load("glSamplerParameteriv");
	biz_glSamplerParameterf = load("glSamplerParameterf");
	biz_glSamplerParameterfv = load("glSamplerParameterfv");
	biz_glSamplerParameterIiv = load("glSamplerParameterIiv");
	biz_glSamplerParameterIuiv = load("glSamplerParameterIuiv");
	biz_glGetSamplerParameteriv = load("glGetSamplerParameteriv");
	biz_glGetSamplerParameterIiv = load("glGetSamplerParameterIiv");
	biz_glGetSamplerParameterfv = load("glGetSamplerParameterfv");
	biz_glGetSamplerParameterIuiv = load("glGetSamplerParameterIuiv");
	biz_glQueryCounter = load("glQueryCounter");
	biz_glGetQueryObjecti64v = load("glGetQueryObjecti64v");
	biz_glGetQueryObjectui64v = load("glGetQueryObjectui64v");
	biz_glVertexAttribDivisor = load("glVertexAttribDivisor");
	biz_glVertexAttribP1ui = load("glVertexAttribP1ui");
	biz_glVertexAttribP1uiv = load("glVertexAttribP1uiv");
	biz_glVertexAttribP2ui = load("glVertexAttribP2ui");
	biz_glVertexAttribP2uiv = load("glVertexAttribP2uiv");
	biz_glVertexAttribP3ui = load("glVertexAttribP3ui");
	biz_glVertexAttribP3uiv = load("glVertexAttribP3uiv");
	biz_glVertexAttribP4ui = load("glVertexAttribP4ui");
	biz_glVertexAttribP4uiv = load("glVertexAttribP4uiv");
	biz_glVertexP2ui = load("glVertexP2ui");
	biz_glVertexP2uiv = load("glVertexP2uiv");
	biz_glVertexP3ui = load("glVertexP3ui");
	biz_glVertexP3uiv = load("glVertexP3uiv");
	biz_glVertexP4ui = load("glVertexP4ui");
	biz_glVertexP4uiv = load("glVertexP4uiv");
	biz_glTexCoordP1ui = load("glTexCoordP1ui");
	biz_glTexCoordP1uiv = load("glTexCoordP1uiv");
	biz_glTexCoordP2ui = load("glTexCoordP2ui");
	biz_glTexCoordP2uiv = load("glTexCoordP2uiv");
	biz_glTexCoordP3ui = load("glTexCoordP3ui");
	biz_glTexCoordP3uiv = load("glTexCoordP3uiv");
	biz_glTexCoordP4ui = load("glTexCoordP4ui");
	biz_glTexCoordP4uiv = load("glTexCoordP4uiv");
	biz_glMultiTexCoordP1ui = load("glMultiTexCoordP1ui");
	biz_glMultiTexCoordP1uiv = load("glMultiTexCoordP1uiv");
	biz_glMultiTexCoordP2ui = load("glMultiTexCoordP2ui");
	biz_glMultiTexCoordP2uiv = load("glMultiTexCoordP2uiv");
	biz_glMultiTexCoordP3ui = load("glMultiTexCoordP3ui");
	biz_glMultiTexCoordP3uiv = load("glMultiTexCoordP3uiv");
	biz_glMultiTexCoordP4ui = load("glMultiTexCoordP4ui");
	biz_glMultiTexCoordP4uiv = load("glMultiTexCoordP4uiv");
	biz_glNormalP3ui = load("glNormalP3ui");
	biz_glNormalP3uiv = load("glNormalP3uiv");
	biz_glColorP3ui = load("glColorP3ui");
	biz_glColorP3uiv = load("glColorP3uiv");
	biz_glColorP4ui = load("glColorP4ui");
	biz_glColorP4uiv = load("glColorP4uiv");
	biz_glSecondaryColorP3ui = load("glSecondaryColorP3ui");
	biz_glSecondaryColorP3uiv = load("glSecondaryColorP3uiv");

	// 4.0
	biz_glMinSampleShading = load("glMinSampleShading");
	biz_glBlendEquationi = load("glBlendEquationi");
	biz_glBlendEquationSeparatei = load("glBlendEquationSeparatei");
	biz_glBlendFunci = load("glBlendFunci");
	biz_glBlendFuncSeparatei = load("glBlendFuncSeparatei");
	biz_glDrawArraysIndirect = load("glDrawArraysIndirect");
	biz_glDrawElementsIndirect = load("glDrawElementsIndirect");
	biz_glUniform1d = load("glUniform1d");
	biz_glUniform2d = load("glUniform2d");
	biz_glUniform3d = load("glUniform3d");
	biz_glUniform4d = load("glUniform4d");
	biz_glUniform1dv = load("glUniform1dv");
	biz_glUniform2dv = load("glUniform2dv");
	biz_glUniform3dv = load("glUniform3dv");
	biz_glUniform4dv = load("glUniform4dv");
	biz_glUniformMatrix2dv = load("glUniformMatrix2dv");
	biz_glUniformMatrix3dv = load("glUniformMatrix3dv");
	biz_glUniformMatrix4dv = load("glUniformMatrix4dv");
	biz_glUniformMatrix2x3dv = load("glUniformMatrix2x3dv");
	biz_glUniformMatrix2x4dv = load("glUniformMatrix2x4dv");
	biz_glUniformMatrix3x2dv = load("glUniformMatrix3x2dv");
	biz_glUniformMatrix3x4dv = load("glUniformMatrix3x4dv");
	biz_glUniformMatrix4x2dv = load("glUniformMatrix4x2dv");
	biz_glUniformMatrix4x3dv = load("glUniformMatrix4x3dv");
	biz_glGetUniformdv = load("glGetUniformdv");
	biz_glGetSubroutineUniformLocation = load("glGetSubroutineUniformLocation");
	biz_glGetSubroutineIndex = load("glGetSubroutineIndex");
	biz_glGetActiveSubroutineUniformiv = load("glGetActiveSubroutineUniformiv");
	biz_glGetActiveSubroutineUniformName = load("glGetActiveSubroutineUniformName");
	biz_glGetActiveSubroutineName = load("glGetActiveSubroutineName");
	biz_glUniformSubroutinesuiv = load("glUniformSubroutinesuiv");
	biz_glGetUniformSubroutineuiv = load("glGetUniformSubroutineuiv");
	biz_glGetProgramStageiv = load("glGetProgramStageiv");
	biz_glPatchParameteri = load("glPatchParameteri");
	biz_glPatchParameterfv = load("glPatchParameterfv");
	biz_glBindTransformFeedback = load("glBindTransformFeedback");
	biz_glDeleteTransformFeedbacks = load("glDeleteTransformFeedbacks");
	biz_glGenTransformFeedbacks = load("glGenTransformFeedbacks");
	biz_glIsTransformFeedback = load("glIsTransformFeedback");
	biz_glPauseTransformFeedback = load("glPauseTransformFeedback");
	biz_glResumeTransformFeedback = load("glResumeTransformFeedback");
	biz_glDrawTransformFeedback = load("glDrawTransformFeedback");
	biz_glDrawTransformFeedbackStream = load("glDrawTransformFeedbackStream");
	biz_glBeginQueryIndexed = load("glBeginQueryIndexed");
	biz_glEndQueryIndexed = load("glEndQueryIndexed");
	biz_glGetQueryIndexediv = load("glGetQueryIndexediv");

	// 4.1
	biz_glReleaseShaderCompiler = load("glReleaseShaderCompiler");
	biz_glShaderBinary = load("glShaderBinary");
	biz_glGetShaderPrecisionFormat = load("glGetShaderPrecisionFormat");
	biz_glDepthRangef = load("glDepthRangef");
	biz_glClearDepthf = load("glClearDepthf");
	biz_glGetProgramBinary = load("glGetProgramBinary");
	biz_glProgramBinary = load("glProgramBinary");
	biz_glProgramParameteri = load("glProgramParameteri");
	biz_glUseProgramStages = load("glUseProgramStages");
	biz_glActiveShaderProgram = load("glActiveShaderProgram");
	biz_glCreateShaderProgramv = load("glCreateShaderProgramv");
	biz_glBindProgramPipeline = load("glBindProgramPipeline");
	biz_glDeleteProgramPipelines = load("glDeleteProgramPipelines");
	biz_glGenProgramPipelines = load("glGenProgramPipelines");
	biz_glIsProgramPipeline = load("glIsProgramPipeline");
	biz_glGetProgramPipelineiv = load("glGetProgramPipelineiv");
	biz_glProgramUniform1i = load("glProgramUniform1i");
	biz_glProgramUniform1iv = load("glProgramUniform1iv");
	biz_glProgramUniform1f = load("glProgramUniform1f");
	biz_glProgramUniform1fv = load("glProgramUniform1fv");
	biz_glProgramUniform1d = load("glProgramUniform1d");
	biz_glProgramUniform1dv = load("glProgramUniform1dv");
	biz_glProgramUniform1ui = load("glProgramUniform1ui");
	biz_glProgramUniform1uiv = load("glProgramUniform1uiv");
	biz_glProgramUniform2i = load("glProgramUniform2i");
	biz_glProgramUniform2iv = load("glProgramUniform2iv");
	biz_glProgramUniform2f = load("glProgramUniform2f");
	biz_glProgramUniform2fv = load("glProgramUniform2fv");
	biz_glProgramUniform2d = load("glProgramUniform2d");
	biz_glProgramUniform2dv = load("glProgramUniform2dv");
	biz_glProgramUniform2ui = load("glProgramUniform2ui");
	biz_glProgramUniform2uiv = load("glProgramUniform2uiv");
	biz_glProgramUniform3i = load("glProgramUniform3i");
	biz_glProgramUniform3iv = load("glProgramUniform3iv");
	biz_glProgramUniform3f = load("glProgramUniform3f");
	biz_glProgramUniform3fv = load("glProgramUniform3fv");
	biz_glProgramUniform3d = load("glProgramUniform3d");
	biz_glProgramUniform3dv = load("glProgramUniform3dv");
	biz_glProgramUniform3ui = load("glProgramUniform3ui");
	biz_glProgramUniform3uiv = load("glProgramUniform3uiv");
	biz_glProgramUniform4i = load("glProgramUniform4i");
	biz_glProgramUniform4iv = load("glProgramUniform4iv");
	biz_glProgramUniform4f = load("glProgramUniform4f");
	biz_glProgramUniform4fv = load("glProgramUniform4fv");
	biz_glProgramUniform4d = load("glProgramUniform4d");
	biz_glProgramUniform4dv = load("glProgramUniform4dv");
	biz_glProgramUniform4ui = load("glProgramUniform4ui");
	biz_glProgramUniform4uiv = load("glProgramUniform4uiv");
	biz_glProgramUniformMatrix2fv = load("glProgramUniformMatrix2fv");
	biz_glProgramUniformMatrix3fv = load("glProgramUniformMatrix3fv");
	biz_glProgramUniformMatrix4fv = load("glProgramUniformMatrix4fv");
	biz_glProgramUniformMatrix2dv = load("glProgramUniformMatrix2dv");
	biz_glProgramUniformMatrix3dv = load("glProgramUniformMatrix3dv");
	biz_glProgramUniformMatrix4dv = load("glProgramUniformMatrix4dv");
	biz_glProgramUniformMatrix2x3fv = load("glProgramUniformMatrix2x3fv");
	biz_glProgramUniformMatrix3x2fv = load("glProgramUniformMatrix3x2fv");
	biz_glProgramUniformMatrix2x4fv = load("glProgramUniformMatrix2x4fv");
	biz_glProgramUniformMatrix4x2fv = load("glProgramUniformMatrix4x2fv");
	biz_glProgramUniformMatrix3x4fv = load("glProgramUniformMatrix3x4fv");
	biz_glProgramUniformMatrix4x3fv = load("glProgramUniformMatrix4x3fv");
	biz_glProgramUniformMatrix2x3dv = load("glProgramUniformMatrix2x3dv");
	biz_glProgramUniformMatrix3x2dv = load("glProgramUniformMatrix3x2dv");
	biz_glProgramUniformMatrix2x4dv = load("glProgramUniformMatrix2x4dv");
	biz_glProgramUniformMatrix4x2dv = load("glProgramUniformMatrix4x2dv");
	biz_glProgramUniformMatrix3x4dv = load("glProgramUniformMatrix3x4dv");
	biz_glProgramUniformMatrix4x3dv = load("glProgramUniformMatrix4x3dv");
	biz_glValidateProgramPipeline = load("glValidateProgramPipeline");
	biz_glGetProgramPipelineInfoLog = load("glGetProgramPipelineInfoLog");
	biz_glVertexAttribL1d = load("glVertexAttribL1d");
	biz_glVertexAttribL2d = load("glVertexAttribL2d");
	biz_glVertexAttribL3d = load("glVertexAttribL3d");
	biz_glVertexAttribL4d = load("glVertexAttribL4d");
	biz_glVertexAttribL1dv = load("glVertexAttribL1dv");
	biz_glVertexAttribL2dv = load("glVertexAttribL2dv");
	biz_glVertexAttribL3dv = load("glVertexAttribL3dv");
	biz_glVertexAttribL4dv = load("glVertexAttribL4dv");
	biz_glVertexAttribLPointer = load("glVertexAttribLPointer");
	biz_glGetVertexAttribLdv = load("glGetVertexAttribLdv");
	biz_glViewportArrayv = load("glViewportArrayv");
	biz_glViewportIndexedf = load("glViewportIndexedf");
	biz_glViewportIndexedfv = load("glViewportIndexedfv");
	biz_glScissorArrayv = load("glScissorArrayv");
	biz_glScissorIndexed = load("glScissorIndexed");
	biz_glScissorIndexedv = load("glScissorIndexedv");
	biz_glDepthRangeArrayv = load("glDepthRangeArrayv");
	biz_glDepthRangeIndexed = load("glDepthRangeIndexed");
	biz_glGetFloati_v = load("glGetFloati_v");
	biz_glGetDoublei_v = load("glGetDoublei_v");

	// 4.2
	biz_glDrawArraysInstancedBaseInstance = load("glDrawArraysInstancedBaseInstance");
	biz_glDrawElementsInstancedBaseInstance = load("glDrawElementsInstancedBaseInstance");
	biz_glDrawElementsInstancedBaseVertexBaseInstance = load("glDrawElementsInstancedBaseVertexBaseInstance");
	biz_glGetInternalformativ = load("glGetInternalformativ");
	biz_glGetActiveAtomicCounterBufferiv = load("glGetActiveAtomicCounterBufferiv");
	biz_glBindImageTexture = load("glBindImageTexture");
	biz_glMemoryBarrier = load("glMemoryBarrier");
	biz_glTexStorage1D = load("glTexStorage1D");
	biz_glTexStorage2D = load("glTexStorage2D");
	biz_glTexStorage3D = load("glTexStorage3D");
	biz_glDrawTransformFeedbackInstanced = load("glDrawTransformFeedbackInstanced");
	biz_glDrawTransformFeedbackStreamInstanced = load("glDrawTransformFeedbackStreamInstanced");

	// 4.3
	biz_glClearBufferData = load("glClearBufferData");
	biz_glClearBufferSubData = load("glClearBufferSubData");
	biz_glDispatchCompute = load("glDispatchCompute");
	biz_glDispatchComputeIndirect = load("glDispatchComputeIndirect");
	biz_glCopyImageSubData = load("glCopyImageSubData");
	biz_glFramebufferParameteri = load("glFramebufferParameteri");
	biz_glGetFramebufferParameteriv = load("glGetFramebufferParameteriv");
	biz_glGetInternalformati64v = load("glGetInternalformati64v");
	biz_glInvalidateTexSubImage = load("glInvalidateTexSubImage");
	biz_glInvalidateTexImage = load("glInvalidateTexImage");
	biz_glInvalidateBufferSubData = load("glInvalidateBufferSubData");
	biz_glInvalidateBufferData = load("glInvalidateBufferData");
	biz_glInvalidateFramebuffer = load("glInvalidateFramebuffer");
	biz_glInvalidateSubFramebuffer = load("glInvalidateSubFramebuffer");
	biz_glMultiDrawArraysIndirect = load("glMultiDrawArraysIndirect");
	biz_glMultiDrawElementsIndirect = load("glMultiDrawElementsIndirect");
	biz_glGetProgramInterfaceiv = load("glGetProgramInterfaceiv");
	biz_glGetProgramResourceIndex = load("glGetProgramResourceIndex");
	biz_glGetProgramResourceName = load("glGetProgramResourceName");
	biz_glGetProgramResourceiv = load("glGetProgramResourceiv");
	biz_glGetProgramResourceLocation = load("glGetProgramResourceLocation");
	biz_glGetProgramResourceLocationIndex = load("glGetProgramResourceLocationIndex");
	biz_glShaderStorageBlockBinding = load("glShaderStorageBlockBinding");
	biz_glTexBufferRange = load("glTexBufferRange");
	biz_glTexStorage2DMultisample = load("glTexStorage2DMultisample");
	biz_glTexStorage3DMultisample = load("glTexStorage3DMultisample");
	biz_glTextureView = load("glTextureView");
	biz_glBindVertexBuffer = load("glBindVertexBuffer");
	biz_glVertexAttribFormat = load("glVertexAttribFormat");
	biz_glVertexAttribIFormat = load("glVertexAttribIFormat");
	biz_glVertexAttribLFormat = load("glVertexAttribLFormat");
	biz_glVertexAttribBinding = load("glVertexAttribBinding");
	biz_glVertexBindingDivisor = load("glVertexBindingDivisor");
	biz_glDebugMessageControl = load("glDebugMessageControl");
	biz_glDebugMessageInsert = load("glDebugMessageInsert");
	biz_glDebugMessageCallback = load("glDebugMessageCallback");
	biz_glGetDebugMessageLog = load("glGetDebugMessageLog");
	biz_glPushDebugGroup = load("glPushDebugGroup");
	biz_glPopDebugGroup = load("glPopDebugGroup");
	biz_glObjectLabel = load("glObjectLabel");
	biz_glGetObjectLabel = load("glGetObjectLabel");
	biz_glObjectPtrLabel = load("glObjectPtrLabel");
	biz_glGetObjectPtrLabel = load("glGetObjectPtrLabel");
	biz_glGetPointerv = load("glGetPointerv");
}

ECL_INVISIBLE bool IsWinAPI;

void LoadGL(LoadGLProc load, LoadGLVersion version, bool isWinApi)
{
	switch (version)
	{
		case LoadGLVersion::V3_1:
			LoadGL3_1(load);
			break;
		case LoadGLVersion::V3_2:
			LoadGL3_2(load);
			break;
		case LoadGLVersion::V4_3:
			LoadGL4_3(load);
			break;
		default:
			__builtin_unreachable();
	}

	IsWinAPI = isWinApi;
}

}
